package com.cool.modules.finance.service.statistics;

import cn.hutool.json.JSONObject;
import com.cool.modules.finance.dto.TabChartVo;
import com.cool.modules.finance.dto.statistics.*;
import org.springframework.web.bind.annotation.RequestAttribute;

import java.util.List;

public interface FinanceStatisticsService {


    /**
     * 消费信息统计
     * @return
     */
    PayChartVo consumerInformationStatistics(JSONObject requestParams);


    /**
     * 支付笔数统计
     * @return
     */
    CountViewVo paymentCountStatistics(JSONObject requestParams);


    /**
     * 支付金额统计
     * @return
     */
    CountPaidVo paymentAmountStatistics(JSONObject requestParams);

    /**
     * 账户余额统计
     * @return
     */
    AccountBalanceVo accountBalanceStatistics(JSONObject requestParams);

    /**
     * 收入支出统计
     * @return
     */
    TabChartVo tabChartStatistics(JSONObject requestParams);


    /**
     * 支出排名
     * @return
     */
    List<ExpendRankVo> expendRank(JSONObject requestParams);

    /**
     * 收益统计
     * @return
     */
    ProfitSearchVo profitSearch(JSONObject requestParams);

    /**
     * 分类占比
     * @return
     */
    CategoryRatioVo categoryRatio(JSONObject requestParams);
}
